#include <iostream>
#include <gtest/gtest.h>
#include <unordered_map>
class PartTest : public testing::Test
{
public:
    // 类内静态成员函数
    static void SetUpTestCase()
    {
        // 只能初始化一次，一般是对于公共的变量进行初始化
    }
    static void TearDownTestCase()
    {
    }
    virtual void SetUp() override
    {
        std::cout << "测试资源初始化" << std::endl;
        // 独立资源初始化
        _map.insert(std::make_pair("hello", "开心"));
        _map.insert(std::make_pair("sleep", "睡觉"));
    }
    virtual void TearDown() override
    {
        for (auto &e : _map)
        {
            std::cout << e.first << " " << e.second << std::endl;
        }
        std::cout << "测试资源清理" << std::endl;
        // 资源清理
        _map.clear();
    }

public:
    std::unordered_map<std::string, std::string> _map;
};

TEST_F(PartTest, test1)
{
    _map.insert(std::make_pair("book", "书"));
    ASSERT_EQ(_map.size(), 3);
}
TEST_F(PartTest, test2)
{
    ASSERT_EQ(_map.size(), 3);
}

int main(int argc, char *argv[])
{
    testing::InitGoogleTest(&argc, argv);
    RUN_ALL_TESTS();
}